home *** CD-ROM | disk | FTP | other *** search
- dnl $Id: ctor.m4,v 1.1.1.1 2003/01/07 16:59:09 murrayc Exp $
-
- dnl
- dnl
- dnl Code generation sections for making a constructor.
- dnl
- dnl
-
- dnl
- dnl Declares and implements the default constructor
- dnl
- define(`_CTOR_DEFAULT',`dnl
- __CPPNAME__`'();
- _PUSH(SECTION_CC)
- __CPPNAME__::__CPPNAME__`'()
- :
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- __CPPPARENT__`'(Glib::ConstructParams(__BASE__`'_class_.init()))
- {
- _IMPORT(SECTION_CC_INITIALIZE_CLASS_EXTRA)
- }
-
- _POP()')
-
-
- dnl
- dnl Constructors for _new functions.
- dnl $1 $2 $3 $4
- dnl _CTOR_IMPL(cppname,cname,cppargs,c_varargs)
- define(`_CTOR_IMPL',`dnl
- _PUSH(SECTION_CC)
- __CPPNAME__::$1`'($3)
- :
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- __CPPPARENT__`'(Glib::ConstructParams(__BASE__`'_class_.init()`'ifelse(`$4',,,`, $4')`', (char*) 0))
- {
- _IMPORT(SECTION_CC_INITIALIZE_CLASS_EXTRA)
- }
-
- _POP()')
-
- define(`_CONSTRUCT',`dnl
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- __CPPPARENT__`'(Glib::ConstructParams(__BASE__`'_class_.init()ifelse(`$1',,,`, $@'), (char*) 0))dnl
- ')dnl
-
- dnl _CONSTRUCT() does not deal with multiple class definitions in one file.
- dnl If necessary, _CONSTRUCT_SPECIFIC(BaseClass, Class) must be used instead.
- dnl
- define(`_CONSTRUCT_SPECIFIC',`dnl
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- $1`'(Glib::ConstructParams(_LOWER($2)_class_.init()ifelse(`$3',,,`, shift(shift($@))'), (char*) 0))dnl
- ')dnl
-
-
- dnl
- dnl Extra code for initialize_class.
- dnl Not commonly used.
- dnl
- define(`_INITIALIZE_CLASS_EXTRA',`dnl
- _PUSH(SECTION_CC_INITIALIZE_CLASS_EXTRA)
- $1
- _POP()')
-
-